<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:f="http://java.sun.com/jsf/core">

    <ui:composition>
        <p:dialog header="B&uacute;squeda r&aacute;pida de Productos" modal="true" widgetVar="dQuickProducto" closable="true" closeOnEscape="true" width="1400" height="850" >
            <div align="left">
                <h:form id="quick_producto" >
                    <h:panelGrid id="pQProducto" columns="2">
                        <p:panel style="width: inherit" header="Filtros para B&uacute;squeda de Informaci&oacute;n" toggleable="true" toggleSpeed="400" >

                            <h:panelGrid id="pQProducto1" columns="2">
                                <h:panelGrid id="pQProducto1_1" columns="4" >

                                    <h:outputText value="Sucursal"/>
                                    <h:selectOneMenu value="#{consultaProductoManaged.selectedEncaProducto.productoSucursales[0].codigo_s}" style="width: 200px">
                                        <f:selectItems value="#{consultaProductoManaged.sucursales}" var="s" itemLabel="#{s.nombre_s}" itemValue="#{s.codigo_s}" />
                                    </h:selectOneMenu>
                                    <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.productoSucursales[0].estado_filtro_s}" title="Filtrar por Sucursal" style="width: 25px" />
                                    <h:outputText value="Filtrar"/>

                                    <h:outputText value="L&iacute;nea"/>
                                    <h:selectOneMenu value="#{consultaProductoManaged.selectedEncaProducto.codigo_l}" style="width: 200px">
                                        <f:selectItems value="#{consultaProductoManaged.lineas}" var="l" itemLabel="#{l.nombre_l}" itemValue="#{l.codigo_l}" />
                                        <p:ajax listener="#{consultaProductoManaged.llenarSubLinea}" update="cmbSubLinea"/>
                                    </h:selectOneMenu>

                                    <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_l}" title="Filtrar por L&iacute;nea" style="width: 25px" />
                                    <h:outputText value="Filtrar"/>

                                    <h:outputText value="Sub L&iacute;nea"/>
                                    <h:selectOneMenu id="cmbSubLinea" value="#{consultaProductoManaged.selectedEncaProducto.codigo_sl}" style="width: 200px" >
                                        <f:selectItems value="#{consultaProductoManaged.subLineas}" var="sl" itemLabel="#{sl.nombre_sl}" itemValue="#{sl.codigo_sl}" />
                                    </h:selectOneMenu>

                                    <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_sl}" title="Filtrar por Sub Categor&iacute;a" style="width: 25px" />
                                    <h:outputText value="Filtrar"/>

                                    <h:outputText value="Medici&oacute;n"/>
                                    <h:selectOneMenu value="#{consultaProductoManaged.selectedEncaProducto.codigo_u}" style="width: 200px" >
                                        <f:selectItems value="#{consultaProductoManaged.unidades}" var="u" itemLabel="#{u.nombre_u}" itemValue="#{u.codigo_u}" />
                                    </h:selectOneMenu>

                                    <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_u}" title="Filtrar por Unidad de Medici&oacute;n" style="width: 25px" />
                                    <h:outputText value="Filtrar"/>

                                    <h:outputText value="Tipo Producto"/>
                                    <h:selectOneMenu value="#{consultaProductoManaged.selectedEncaProducto.codigo_tp}" style="width: 200px" >
                                        <f:selectItems value="#{consultaProductoManaged.tipoProductos}" var="tp" itemLabel="#{tp.nombre_tp}" itemValue="#{tp.codigo_tp}" />
                                    </h:selectOneMenu>

                                    <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_tp}" title="Filtrar por Tipo de Productos" style="width: 25px" />
                                    <h:outputText value="Filtrar"/>

                                    <h:outputText value="Marca"/>
                                    <h:selectOneMenu value="#{consultaProductoManaged.selectedEncaProducto.codigo_m}" style="width: 200px">
                                        <f:selectItems value="#{consultaProductoManaged.marcas}" var="mc" itemLabel="#{mc.nombre_m}" itemValue="#{mc.codigo_m}" />
                                    </h:selectOneMenu>

                                    <h:selectBooleanCheckbox value="#{consultaProductoManaged.selectedEncaProducto.estado_filtro_m}" title="Filtrar por Marca" style="width: 25px" />
                                    <h:outputText value="Filtrar"/>
                                </h:panelGrid>

                                <h:panelGrid id="pQProducto1_2" columns="1">
                                    <div align="center">
                                        <p:commandButton value="#{sms.buscar}" actionListener="#{consultaProductoManaged.buscarGrid}" update="quick_producto_grid mensaje"/>
                                        <p:commandButton value="#{sms.limpiar}" actionListener="#{limpiarManaged.limpiar}" update="quick_producto quick_producto_grid"/>
                                    </div>
                                </h:panelGrid>
                            </h:panelGrid>
                        </p:panel>

                        <p:panel style="width: inherit" header="Informaci&oacute;n de Producto" toggleable="true" toggleSpeed="400" >
                            <h:panelGrid id="pQProducto1_4" columns="4">
                                <h:outputText value="Categor&iacute;a"/><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_l}" style="width: 200px" readonly="true"/>
                                <h:outputText value="Sub Categor&iacute;a."/><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_sl}" style="width: 200px" readonly="true" />
                                <h:outputText value="Marca" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_m}" style="width: 200px" readonly="true" />
                                <h:outputText value="U.Medici&oacute;n" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_u}" style="width: 200px" readonly="true" />
                                <h:outputText value="T. Producto" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.nombre_tp}" style="width: 200px" readonly="true" />
                                <h:outputText value="Costo" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.costo_p}" style="width: 200px" readonly="true" />
                            </h:panelGrid>
                        </p:panel>
                    </h:panelGrid>

                    <h:panelGrid id="pConProducto2" columns="4">
                        <h:outputText value="Descricpci&oacute;n" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.descripcion_p}" style="width: 700px" readonly="true" />
                        <h:outputText value="C. Barra" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.codigo_barra_p}" style="width: 200px" readonly="true" />
                                                
                        <h:outputText value="Otra Informaci&oacute;n" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.otra_informacion_p}" style="width: 700px" readonly="true" rendered="true" />
                        <h:outputText value="C. Original" /><p:inputText value="#{consultaProductoManaged.selectedDetaProducto.codigo_barra_original_p}" style="width: 200px" readonly="true" />
                    </h:panelGrid>

                </h:form>
                <h:form id="quick_producto_grid" >
                    <p:dataTable id="table" value="#{consultaProductoManaged.productos}" var="row" rows="15"
                                 paginator="true"  paginatorPosition="bottom" selectionMode="single" selection="#{consultaProductoManaged.selectedDetaProducto}"
                                 emptyMessage="#{sms.TableEmptyMessage}" onRowSelectUpdate="quick_producto" update="quick_producto_grid:pQRowExpansion mensaje"
                                 rowSelectListener="#{consultaProductoManaged.llenar_tableDeta}" >
                        <f:facet name="header" >
                            <h:outputText value="Lista de Productos"/>
                        </f:facet>
                        <p:column style="width:16px">
                            <p:rowToggler />
                        </p:column>

                        <p:column headerText="L&iacute;nea" style="width:50px" sortBy="#{row.nombre_l}" filterBy="#{row.nombre_l}">
                            <h:outputText value="#{row.nombre_l}"/>
                        </p:column>
                        <p:column headerText="Sub L&iacute;nea" style="width:50px" sortBy="#{row.nombre_sl}" filterBy="#{row.nombre_sl}">
                            <h:outputText value="#{row.nombre_sl}"/>
                        </p:column>
                        <p:column headerText="Nombre del Producto" sortBy="#{row.nombre_p}" filterBy="#{row.nombre_p}" filterMatchMode="contains" style="width:450px" >
                            <h:outputText value="#{row.nombre_p}"/>
                        </p:column>
                        <p:column headerText="Cód. Barra" sortBy="#{row.codigo_barra_p}" filterBy="#{row.codigo_barra_p}" filterMatchMode="contains" style="width:100px" rendered="true">
                            <h:outputText value="#{row.codigo_barra_p}"/>
                        </p:column>
                        <p:column headerText="Cód. Barra Original" sortBy="#{row.codigo_barra_original_p}" filterBy="#{row.codigo_barra_original_p}" filterMatchMode="contains" style="width:100px" rendered="true">
                            <h:outputText value="#{row.codigo_barra_original_p}"/>
                        </p:column>
                        <p:column headerText="Existencia" style="width:50px" sortBy="#{row.existencia_total_p}" rendered="true">
                            <h:outputText value="#{row.existencia_total_p}"/>
                        </p:column>                        
                        <p:rowExpansion id="pQRowExpansion">
                            <br/>
                            <div align="left">
                                <h:outputText value="Total Existencia " style="font-weight: bold; font-size: large"/><p:spacer width="400" height="10"/>
                                <h:outputText value="#{row.existencia_total_p}" style="font-weight: bold; font-size: large" />
                            </div>
                            <br/>
                            <p:dataTable id="deta_table" value="#{consultaProductoManaged.productoSucursales}" var="row" rows="20"
                                         paginator="true" paginatorPosition="bottom" selectionMode="single"
                                         emptyMessage="#{sms.TableEmptyMessage}" >
                                <f:facet name="header" >
                                    <h:outputText value="Existencia de Producto"/>
                                </f:facet>
                                <p:column headerText="Sucursal" style="width: 200px" sortBy="#{row.nombre_s}" filterBy="#{row.nombre_s}" filterMatchMode="contains">
                                    <h:outputText value="#{row.nombre_s}" style="width: 200px" />
                                </p:column>
                                <p:column headerText="M&aacute;ximo" style="width: 15px" sortBy="#{row.maximo_ps}">
                                    <h:outputText value="#{row.maximo_ps}" style="width: 15px" />
                                </p:column>
                                <p:column headerText="M&iacute;nimo" style="width: 15px" sortBy="#{row.minimo_ps}">
                                    <h:outputText value="#{row.minimo_ps}" style="width: 15px" />
                                </p:column>
                                <p:column headerText="Existencia" style="width: 15px" sortBy="#{row.existencia_ps}">
                                    <h:outputText value="#{row.existencia_ps}" style="width: 15px" />
                                </p:column>
                                <p:column headerText="Ubicaci&oacute;n" style="width: 500px" sortBy="#{row.ubicacion_ps}" filterBy="#{row.ubicacion_ps}" filterMatchMode="contains">
                                    <h:outputText value="#{row.ubicacion_ps}" style="width: 500px" />
                                </p:column>
                            </p:dataTable>
                        </p:rowExpansion>

                        <f:facet name="footer" >
                            <p:commandButton value="Agregar" action="#{Bean.getQuickProducto(consultaProductoManaged.selectedDetaProducto)}" update="#{parametroUpdate}" oncomplete="dQuickProducto.hide()" title="Elegir Producto" rendered="true"/>
                        </f:facet>
                    </p:dataTable>
                </h:form>
            </div>
        </p:dialog>
    </ui:composition>
</html>